﻿
$(document).ready(main);

function main() {
//    ejecutarPorDefecto();
    $("#FechaB").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#FechaI").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#FechaIModificar").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#botonCancelar").click(menuCuotaExtraordinaria);
    $("#botonCancelar2").click(menuCuotaExtraordinaria);
    $("#botonRegistrar").click(registrarCuota);
    $("#botonBuscar").click(buscarCuotas);
    $("#botonEliminarB").click(eliminar);
    $("#Limpiar").click(LimpiarBusquedaCE);
    $("#botonModificarB").hide();
    $("#botonEliminarB").hide();
    cargarEdificios();
    $("#BuscarMantenimiento").button({
        icons: {
            primary: "ui-icon-search"
        },
        text: false
    });
}


function LimpiarBusquedaCE() {

    document.getElementById("FechaB").value = "";

    document.getElementById("Nombre").value = "";

    document.getElementById("Estado").value = "";

}

function borrarErrores() {
    document.getElementById("errorEdificio").innerHTML = "";
    document.getElementById("errorMantenimiento").innerHTML = "";
    document.getElementById("errorFecha").innerHTML = "";
    document.getElementById("errorPeriodo").innerHTML = "";
    document.getElementById("errorDescripcion").innerHTML = "";
}

function borrarErroresModificar() {
    document.getElementById("errorPeriodoM").innerHTML = "";
    document.getElementById("errorDescripcionM").innerHTML = "";
}

//FUNCION PARA BUSCAR MANTENIMIENTOS CORRECTIVOS

function buscarMantenimiento() {
   
    var enviarBusqueda = {
        id_Edificio: $("#Nombre").val(),
        Estado: 1
    }
    fv = new formValidator();
    if (fv.isEmpty(document.getElementById("Nombre").value)) {
        fv.raiseError("Seleccione un edificio");
    }
    if (fv.numErrors() < 1) {
        var jsonData = JSON.stringify(enviarBusqueda);
       // alert(jsonData);
        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "buscarMantenimientos",
            beforeSend: esperarMantenimiento,
            success: llegadaMantenimiento
        });
    } else {
        fv.displayErrors();
        return false;
    }
}
function esperarMantenimiento() {}
function llegadaMantenimiento(data) {
    var lista = data.ListaMantenimientos;
    var escritor = "";
    
    escritor += "<table>" +
                    "<thead><th class=" + "\"style1\" " + "style=" + "\"width:30px;\" " + "></th>" +
                    "<th>Id Mantenimiento Correctivo</th>" +
                    "<th>Fecha</th>" +
                    "<th>Nombre del Mantenible</th>" +
                    "<th>Nombre</th>" +
                    "<th>Monto</th>" +
                    "<th>Lugar</th></thead>";
    escritor += "<tbody>";
    $.each(lista, function (i, item) {
        escritor += "<tr>";
        escritor += "<td class=" + "\"style1\"" + " style=" + "\width:30px;\"" + " align=" + "\"center\"" + "><input id=" + "\"RadioButton1\"" + " name=" + "\"R1\"" + " type=" + "\"radio\"" + " value=" + "\"1\"" + " style=" + "\"width:30px;\"/></td>";
        escritor += '<td>' + item.ID + '</td>';
        escritor += '<td>' + item.Fecha + '</td>';
        escritor += '<td>' + item.NombreMantenible + '</td>';
        escritor += '<td>' + item.Nombre + '</td>'; 
        escritor += '<td>' + item.Monto + '</td>';
        escritor += '<td>' + item.Lugar + '</td>'; 
        escritor += "</tr>";
    });
    escritor += "</toby>";
    escritor += "</table>";

    $("#TablaDinamicaBusquedaMantenimientos").html(escritor);
}

$(function () {
    var nameB = $("#nameB"),
        emailB = $("#emailB"),
        passwordB = $("#passwordB"),
        allFields = $([]).add(nameB).add(emailB).add(passwordB),
        tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }

    $("#dialog-form-buscar-correctivo").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var bValid = true;
                allFields.removeClass("ui-state-error");
                if (bValid) {
                    if ($("input:radio[name='R1']:checked")) {
                        var id, id_Mantenible, fecha, observacion, estado, monto, nombre, lugar, nombreMantenible
                        $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                            switch (index2) {
                                case 1:
                                    id = $(this).text();
                                    break;
                                case 2:
                                    fecha = $(this).text();
                                    break;
                                case 3:
                                    nombreMantenible = $(this).text();
                                    break;
                                case 4:
                                    nombre = $(this).text();
                                    break;
                                case 5:
                                    monto = $(this).text();
                                    break;
                                case 6:
                                    lugar = $(this).text();
                                    break;
                            }
                            document.getElementById("MantenimientoCorrectivo").value = id;
                            document.getElementById("MontoTotal").value = monto;
                            document.getElementById("FechaI").value = fecha;
                        })
                        $(this).dialog("close");
                    }
                }
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#BuscarMantenimiento").click(function () { buscarMantenimiento(); $("#dialog-form-buscar-correctivo").dialog("open"); });

});

//******************************************************
//BUSCAR CUOTAS EXTRAORDINARIAS
function buscarCuotas() {
    var estado = "d";
    if ($("#Estado").attr("value") == "Activo")
        estado = "1";
    else estado = "0";

    
    var enviarBusqueda = {
        FechaB: $("#FechaB").attr("value"),
        id_Edificio: $("#Nombre").val(),
        Estado: estado
    }
    var jsonData = JSON.stringify(enviarBusqueda)
//    alert(enviarBusqueda.FechaB + " - " + enviarBusqueda.id_Edificio + " - " + enviarBusqueda.Estado);
      $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "buscarCuotas",
            beforeSend: esperarBusqueda,
            success: llegadaBusqueda
        });
}

function esperarBusqueda() { }
function llegadaBusqueda(data) {
    var lista = data.ListaCuotaExtraordinaria;
    var jsonData = JSON.stringify(lista);
    //  alert(jsonData);
    var escritor = "";

    escritor += "<table>" +
                    "<thead><th class=" + "\"style1\" " + "style=" + "\"width:30px;\" " + "></th>" +
                    "<th>Id Cuota Extraordinaria</th>" +
                    "<th>Monto</th>" +
                    "<th>Fecha Inicio</th>" +
                    "<th>Periodo</th>" +
                    "<th>Estado</th>" +
                    "<th>Descripción</th>" +
                    "<th>Nombre Edificio</th>"+
                    "<th>Nombre Mantenible</th></thead>";

    escritor += "<tbody>";
    $.each(lista, function (i, item) {
        escritor += "<tr>";
        escritor += "<td class=" + "\"style1\"" + " style=" + "\width:30px;\"" + " align=" + "\"center\"" + "><input id=" + "\"RadioButton1\"" + " name=" + "\"R1\"" + " type=" + "\"radio\"" + " value=" + "\"1\"" + " style=" + "\"width:30px;\"/></td>";
        escritor += '<td>' + item.Id + '</td>';
        escritor += '<td>' + item.MontoTotal + '</td>';
        escritor += '<td>' + item.FechaI + '</td>';
        escritor += '<td>' + item.Periodo + '</td>';
        if (item.Estado == 1) {
            escritor += '<td>' + "Activo" + '</td>';
        } else {
            escritor += '<td>' + "Inactivo" + '</td>';
        }
        escritor += '<td>' + item.TextAreaCuotaExtraordinaria + '</td>';
        escritor += '<td>' + item.NombreEdificio + '</td>';
        escritor += '<td>' + item.NombreMantenible+'</td>';
        escritor += "</tr>";
    });
    escritor += "</toby>";
    escritor += "</table>";

    $("#TablaDinamicaBusqueda").html(escritor);
    $("#botonModificarB").show();
    $("#botonEliminarB").show();
}
//*************************************************************************
//FUNCION ELIMINAR LOGICO

function eliminar() {
    if ($("input:radio[name='R1']:checked")) {
        var id;
        var entro = 1;
        $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
            switch (index2) {
                case 1:
                    id = $(this).text();
                    break;
            }
        });

        var question = confirm("Desea eliminar la cuota extraordinaria seleccionada");
        if (question != 0) {
            var enviar = {
                Id: id
            }

            var jsonData = JSON.stringify(enviar);

            $.ajax({
                type: "POST",
                data: jsonData,
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                url: "eliminarCuota",
                beforeSend: esperarEliminarCuota(),
                success: llegadaEliminarCuota
            });
        }
    }
    else {
        alert("Debe seleccionar una fila");
    }  
 }

function esperarEliminarCuota() { }
function llegadaEliminarCuota(data) {
    window.history.back();
    alert(data.me);
}


//*************************************************************************
//FUNCION MODIFICAR CUOTA EXTRAORDINARIA
$(function () {
    var nameB = $("#nameB"),
            emailB = $("#emailB"),
            passwordB = $("#passwordB"),
            allFields = $([]).add(nameB).add(emailB).add(passwordB),
            tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }
    $("#dialog-form-modificar").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var estado = "d";
                if ($("#EstadoModificar").attr("value") == "Activo")
                    estado = "1";
                else estado = "0";
                var enviar = {
                    Id: $("#IdCuota").attr("value"),
                    id_Edificio: $("#nombreEdificio").val(),
                    IdCorrectivo: $("#MantenimientoCorrectivo").val(),
                    MontoTotal: $("#MontoModificar").attr("value"),
                    FechaI: $("#FechaIModificar").attr("value"),
                    Periodo: $("#Periodos").attr("value"),
                    Estado: estado,
                    TextAreaCuotaExtraordinaria: $("#DescripcionModificar").attr("value")
                }
                var jsonData = JSON.stringify(enviar);
                fv = new formValidator();


                if (fv.isEmpty(document.getElementById("DescripcionModificar").value) &&
                !fv.isAlphaNumeric(document.getElementById("DescripcionModificar").value)) {
                    fv.raiseError("Por favor ingrese una descripcion");
                    document.getElementById("errorDescripcionM").innerHTML = "Ingrese una descripcion";
                } else { document.getElementById("errorDescripcionM").innerHTML = ""; }
                if ((fv.isEmpty(document.getElementById("Periodos").value)) || ((!fv.isNumber(document.getElementById("Periodos").value)) || ((document.getElementById("Periodos").value <= 0)))) {
                    fv.raiseError("Por favor ingrese una cantidad de periodos correcta");
                    document.getElementById("errorPeriodoM").innerHTML = "Ingrese un periodo correcto";
                } else { document.getElementById("errorPeriodoM").innerHTML = ""; }
                if (fv.numErrors() < 1) {
                    $.ajax({
                        type: "POST",
                        data: jsonData,
                        dataType: "json",
                        contentType: "application/json; charset=utf-8",
                        url: "modificarCuota",
                        success: function (data) {
                            window.history.back();
                            alert(data.me);
                        }
                    });
                    return true;
                }
                else {
                    return false;
                }

                $(this).dialog("close");
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#botonModificarB").click(function () {

        $("#dialog-form-modificar").dialog("open");
        var bValid = true;
        var fechaintermedia = "";
        allFields.removeClass("ui-state-error");
        if (bValid) {
            if ($("input:radio[name='R1']:checked")) {
                var id, Monto, fecha_inicio, periodo, Nombre, Estado, Motivo, NombreMantenible;
                $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                    switch (index2) {
                        case 1:
                            id = $(this).text();
                            break;
                        case 2:
                            Monto = $(this).text();
                            break;
                        case 3:
                            fecha_inicio = $(this).text();

                            break;
                        case 4:
                            periodo = $(this).text();

                            break;
                        case 5:
                            Estado = $(this).text();
                            break;
                        case 6:
                            Motivo = $(this).text();
                            break;
                        case 7:
                            Nombre = $(this).text();
                            break;
                        case 8:
                            NombreMantenible = $(this).text();
                            break;
                    }
                    //monto 2 fi 3 ff 4 estado 5
                })
                //                                alert(id + ' - '+ Monto + ' - ' + fecha_inicio + ' - ' + fecha_fin + ' - ' + Nombre + ' - ' + Estado + ' - ' +
                //                                    Motivo + ' - ' + $("input:radio[name='R1']:checked").val());
                document.getElementById("IdCuota").value = id;
                document.getElementById("nombreEdificio").value = Nombre;
                document.getElementById("MantenimientoCorrectivo").value = NombreMantenible;
                document.getElementById("MontoModificar").value = Monto;
                document.getElementById("FechaIModificar").value = fecha_inicio;
                document.getElementById("Periodos").value = periodo;
                document.getElementsByName("selCombo").value = Estado;
                document.getElementById("DescripcionModificar").value = Motivo;
            }
        }
    });

});
//*************************************************************************
//FUNCION CARGAR COMBOBOX DE LISTA DE EDIFICIOS
function cargarEdificios() {

    var enviar = {
        Nombre: ""
    }

    console.log(enviar);

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarEdificios",
        beforeSend: esperarEdificio,
        success: function (data) {
            console.log(data);

            var lista = data.ListaEdificio;

            $("#Nombre").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
               $("#Nombre").append("<option value =\"" + item.Id_Edificio + "\">" + item.Nombre + "</option>");
            });
        }
    });
}

function esperarEdificio() {
}
//*************************************************************************
//FUNCION REGRESAR A LA PAGINA ANTERIOR
function menuCuotaExtraordinaria() {
    window.history.back();
}
//*************************************************************************
//FUNCION REGISTRAR CUOTA EXTRAORDINARIA
function registrarCuota() {
    var estado = "d";
    if ($("#Estado").attr("value") == "Activo")
        estado = "1";
    else estado = "0";
    var enviar = {
        id_Edificio: $("#Nombre").val(),
        IdCorrectivo: $("#MantenimientoCorrectivo").val(),
        MontoTotal: $("#MontoTotal").attr("value"),
        FechaI: $("#FechaI").attr("value"),
        Periodo: $("#Periodos").attr("value"),
        Estado: estado,//$("#Estado").attr("value"),
        TextAreaCuotaExtraordinaria: $("#TextAreaCuotaExtraordinaria").attr("value")
    }



    fv = new formValidator();
    borrarErrores();
    if (!fv.isSelectedSelect(document.getElementById("Nombre"))) {
        fv.raiseError("Por favor seleccione un edificio");
        document.getElementById("errorEdificio").innerHTML = "Seleccione un edificio";
    } else {
        document.getElementById("errorEdificio").innerHTML = "";
    }

    if (fv.isEmpty(document.getElementById("MantenimientoCorrectivo").value)) {
        fv.raiseError("Por favor seleccione un mantenimiento a pagar");
        document.getElementById("errorMantenimiento").innerHTML = "Seleccione un mantenimiento a pagar";
    } else {
        document.getElementById("errorMantenimiento").innerHTML = "";
    }

    if (fv.isEmpty(document.getElementById("FechaI").value)) {
        fv.raiseError("Por favor ingrese una fecha inicial");
        document.getElementById("errorFecha").innerHTML = "Ingrese una fecha inicial";
    } else {
        document.getElementById("errorFecha").innerHTML = "";
    }
    if (fv.isEmpty(document.getElementById("Periodos").value) && (fv.isNumber(document.getElementById("Periodos").value))) {
        fv.raiseError("Por favor ingrese un periodo correcto");
        document.getElementById("errorPeriodo").innerHTML = "Ingrese un periodo correcto";
    } else {
        document.getElementById("errorPeriodo").innerHTML = "";
    }
    if (fv.isEmpty(document.getElementById("TextAreaCuotaExtraordinaria").value) && !fv.isAlphaNumeric(document.getElementById("Nombre").value)) {
        fv.raiseError("Por favor seleccione una descripción");
        document.getElementById("errorDescripcion").innerHTML = "Ingrese una descripción correcta";
    } else {
        document.getElementById("errorDescripcion").innerHTML = "";
    }
    if (fv.numErrors() < 1) {

//        alert($("#Nombre").val());
        console.log(enviar);
        var jsonData = JSON.stringify(enviar);
//        alert(jsonData);
        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "registrarCuota",
            beforeSend: esperarRegistro,
            success: llegadaRegistro

        });
    return true;
    }
    else {
        return false;
    }
}

function esperarRegistro() {

}

function llegadaRegistro(data) {
    window.history.back();
    alert(data.me);
}
//*************************************************************************

function errorJS(data) {
//    alert();
    alert("Error");
}
//monto motivo fechas id edificio estado